A. Technical Field
The present invention pertains generally to computer applications, and relates more particularly to monitoring a user's interactions with a computer application.
B. Background of the Invention
Development and maintenance of any product, including software applications, should involve monitoring an end user's interactions with the product. Being able to monitor a user's activity helps developers and administrators identify how users interact with the application and helps identify areas of improvement.
Previous attempts to monitor user interactions have been extremely limited. Querying users directly may be of some value; however, such methods are of limited appeal. First, it is difficult to get users to respond to surveys or to provide notification of issues. Second, users are likely not to pay close attention to the exact actions they are taking. Third, even if a company could get users to voluntarily submit user activity information, the users may not have useful information. The ubiquity of computers in modern society means that many with no technical ability use computers. These lay users will likely have no insight into their interactions with their computers. Traditionally, these end users have only two criteria by which they measure or monitor their interactions with an application—namely, how long does an interaction with the application take to complete and the availability of the same. Fourth, what is viewed by the user as a single interaction may involve a number of operations that can be shielded from the user. Thus, even if a user is willing to voluntarily track and submit his or her activity information and is technically proficient to be able to provide some meaningful information, the precise interaction problem may not be visible to them. Finally, such methods are delayed and not capable of being done in real-time.
Other attempts to monitor user activity include looking at data in user interactions. For example, the web sites that the user directs his or her browser to, or more particularly the Uniform Resource Locator (URL), can be examined to some degree to extract information. But, such methods, at best, provide only cursory information with little insight into the actual user intent.
Thus, previous attempts to provide meaningful information about what a user was intending to do when interacting with an application have been very limited or ineffectual.